package hyskidotmateuszatgmail.recepcja.adapter;

/*import hyskidotmateuszatgmail.e_recepcja_klient.MainActivity;
import hyskidotmateuszatgmail.e_recepcja_klient.MyAlertDialogFragment;
import hyskidotmateuszatgmail.owner.NetworkUtil;*/

import hyskidotmateuszatgmail.recepcja.MainActivity;
import interfejsy.IWsp;
import interfejsy.logika.Operacje;

import java.util.HashMap;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Set;
import java.util.TreeSet;

import model.LUDKI;
import model.Lokalizacje;
import model.NetworkUtil;
import model.POLATABEL;
import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;

public class KlasaStatyczna {

	private static Licencje licencje;
	static {
		licencje=new Licencje();
	}
	class Licencje {
						/*
						 * idKlienta-List<zom|wartosc,cos1,cos2>
						 */
		private static Map<String,String> 
			licencje=new HashMap<String,String>();
		
		private int zomLokalizacji=0;
		public Licencje(){}
		void add(String idKlienta,List<String> licencje)
		{
			if(!licencje.containsKey(idKlienta))
				licencje.put(idKlienta,licencje);
		}
		int getZomLokalizacji(String idKlienta)
		{
			int value_=0;
			if( !licencje.containsKey(idKlienta) )
			{
				List<String> temp_lic=licencje.get(idKlienta);
				for(String value:licencje.get(idKlienta))
				{
					if( value.indexOf("zom")!=-1)
					{
						String[] avalue=value.split("|");
						value_=avalue[1];
					}
				}
			}
			return value_;
		}
	}
	/*
	 * idKlienta|(0->zom)
	 */
	public static int sprawdzLicencje(String splitString)
	{
		String[] value=splitString.split("|");
		switch(Integer.valueOf(value[1]))
		{
		//zom
		case 0:
			return licencje.getZomLokalizacji(value[0]);
		}
		return false;
	}
	private static Map<Integer,String[]> a=new HashMap<Integer,String[]>();
	{
		a.put(1,new String[]{ "Top Rated", "Games", "Movies" ,"Lokalizacje"});
	}
	
	public static int 
		TabsPagerAdapter_Count=0;
	
    protected static boolean 
    watekdziala,
    dzialanieaplikacji=true,
    analizapokoju=false,
    polaczenieSiec=false,
    przyciskRezerwacja=false;
    
	public static void readProperties()
	{
		
	}
	/**
	 * a=1 -wsp
	 * @param a
	 * @return
	 */
	public static int pojemnosci(int a)
	{
		int poj=0;
		switch(a)
		{
		case 1: //WSP
			if ( model.KlasaStatyczna.wsp.size()==0))
				{
					przekaz(String b,int a);
				}
		}
		return poj;
	}
	/**
	 * 
	 */
	private static IWsp i=null;
	private static Map<String,Object> mapa=new HashMap<String, Object>();
	
        static NetworkUtil networkUtil=null;
        public static Map<String ,Fragment> fragmenty=new HashMap<String, Fragment>();
        LUDKI l=new LUDKI();
        /*public static Map<LUDKI,Lokalizacje> MODEL= new HashMap<LUDKI,Lokalizacje>();
        {
        	l.setNazwa("test");
        	if (MODEL.size()==0)
        		MODEL.put(l, null);
        }*/
        /**
         * stworzenie nowego obiektu
         * i mapy
         * @return IWsp
         */
        private static void i()
        {
        	if( i==null)
        		i=new Operacje();
        	else
        	{
        		i=null;
        		i=new Operacje();
        	}
        }
        /**
         * przygotowanie mapy
         * @param h
         */
        private static void xx(String h)
        {
        	i();
        	Lokalizacje v=new Lokalizacje(h);
        	v.setNazwa(h);
        	
        	mapa.put("OBIEKT", v);
        	mapa.put("key",POLATABEL.LOKALIZACJE_NR);
        	//if()
        	mapa.put("OPERACJA", "+");
        		
        }
        public static void przekaz(String b,int ... a)
        {
        	model.KlasaStatyczna.TYP_OPERACJI=a[0];
        	model.KlasaStatyczna.przekaz(b);
        	/*xx(b);
        	i.operacja(mapa);
        	while (i.status()!=-1) {}*/
        }
        public static void wykonaj()
        {
        }
        
        public static NetworkUtil getNetworkUtil() {
                return networkUtil;
        }
        public static void setNetworkUtil(NetworkUtil networkUtil) {
                KlasaStatyczna.networkUtil = networkUtil;
        }
        public static int LiczbaPokoiWLokalizacji(String nazwaLokalizacji)
        {
                int liczba=0;
                for(Lokalizacje lokalizacje:KlasaStatyczna.lokalizacje)
                {
                        if( lokalizacje.getNazwa()==nazwaLokalizacji )
                                liczba=lokalizacje.getPokoje().size();
                }
                                
                return liczba;
        }
        public static int status=0;
        public static Set<Lokalizacje> lokalizacje=new TreeSet<Lokalizacje>();
        public static Activity act;
        public static Context ctx___;
        public static MainActivity o;
        public static FragmentManager manager;
      /*  private static MyAlertDialogFragment dialog=new MyAlertDialogFragment();
        
        public static MyAlertDialogFragment getDialog() {
                return get().dialog;
        }
        public static void setDialog(MyAlertDialogFragment dialog) {
                get().dialog = dialog;
        }*/
        public static Activity getAct() {
                return get().act;
        }
        public static void setAct(Activity act) {
                get().act = act;
        }
        private static Fragment fra;
        
        public static Fragment getFra() {
                return get().fra;
        }
        public static void setFra(Fragment fra) {
                get().fra = fra;
        }
        protected static int IDLokalizacji;
        

        
        public static int getStatus() {
                return status;
        }
        public static void setStatus(int status) {
                KlasaStatyczna.status = status;
        }
        public static boolean isWatekdziala() {
                return watekdziala;
        }
        public static void setWatekdziala(boolean watekdziala) {
                KlasaStatyczna.watekdziala = watekdziala;
        }
        public static boolean isAnalizapokoju() {
                return analizapokoju;
        }
        public static void setAnalizapokoju(boolean analizapokoju) {
                KlasaStatyczna.analizapokoju = analizapokoju;
        }
        public static boolean isPolaczenieSiec() {
                return polaczenieSiec;
        }
        public static void setPolaczenieSiec(boolean polaczenieSiec) {
                KlasaStatyczna.polaczenieSiec = polaczenieSiec;
        }
        public static void setPrzyciskRezerwacja(boolean przyciskRezerwacja) {
                KlasaStatyczna.przyciskRezerwacja = przyciskRezerwacja;
        }
        public static void setWAtek(boolean przyciskRezerwacja) { get().watekdziala = przyciskRezerwacja; }
        public static boolean getWatek() { return get().watekdziala; }
        public static void setAA(boolean przyciskRezerwacja) {
                if(przyciskRezerwacja){
                        //check=new ChechStatusPokoju();
                        //check.start();
                        System.out.println("L");
                }
                else
                        System.out.println("P");
                        //check.interrupt();
                get().analizapokoju = przyciskRezerwacja;
        }
        public static boolean getAA() { return get().analizapokoju;     }
        
        public static void setDzialanieAplikacji(boolean przyciskRezerwacja) {
                get().dzialanieaplikacji = przyciskRezerwacja;
        }
        public static boolean getDzialanieAplikacji() { return get().dzialanieaplikacji; }
        
        public static boolean isPrzyciskRezerwacja() { return get().przyciskRezerwacja; }
        public static void setPrzyciskRezerwacja(boolean przyciskRezerwacja,String h) {
                get().przyciskRezerwacja = przyciskRezerwacja;
        }
        private static Context context;
        
        private static Fragment f;
        
        static Map<String,Fragment> xx=new HashMap<String, Fragment>();
        public static void f(String h,Fragment s){
                xx.put(h,s);
        }
        public static Context getContext() { return context; }
        public static void setContext(Context context) { get().context = context; }
        
        private static int widok_lokalizacje=-1;
        
        public static int getWidok_lokalizacje() { return widok_lokalizacje; }
        public static void setWidok_lokalizacje(int widok_lokalizacje) {
                get().widok_lokalizacje = widok_lokalizacje;
        }
        
        private static String activity;
        private static Activity ac;
        private static Map<String,Integer>
                ee=new HashMap<String,Integer>();
        static{
                ee.put("REZERWACJE",0);
        }
        public static int get(String key ){
                if( ee.containsKey(key))
                        return ee.get(key);
                else
                        return 1;
        }
        private static int re;
        
        public static int getRe() { return re;}
        public static void setRe(int re) { KlasaStatyczna.re = re;}
        
        public static String getActivity() { return activity; }
        public static Activity getAc() { return ac; }
        public static void setActivity(String h) { KlasaStatyczna.activity = activity; }

        private static KlasaStatyczna instancja=null;
        
         private static String ID_KLIENTA;
         public static void setIDKLIENTA(String h){
                 ID_KLIENTA=h;
         }
         static String getIDKLIENTA(){
                 return ID_KLIENTA;
         }
         public static KlasaStatyczna get(){
                 if(instancja==null)
                 {
                         return instancja=new KlasaStatyczna();
                 }
                 else
                         return instancja;
                 
         }
}
